package com.youshuit.designmodedemo.service;

import com.youshuit.designmodedemo.module.po.PayResult;
import com.youshuit.designmodedemo.module.po.RefundResult;
import com.youshuit.designmodedemo.enumx.PayStatus;

import java.math.BigDecimal;

public interface IPaymentService {

    /**
     * 支付
     * @param orderId 订单id
     * @param amount 金额
     * @return 支付结果
     */
    PayResult pay(String orderId, BigDecimal amount);

    /**
     * 退款
     * @param orderId 订单id
     * @param amount 金额
     * @return 退款结果
     */
    RefundResult refund(String orderId, BigDecimal amount);

    /**
     * 查询支付状态
     * @param orderId 订单id
     * @return 支付状态
     */
    PayStatus queryPayStatus(String orderId);
}
